package cn.kent.facadePattern;

/**
 * @author kent
 * @date 2021/5/17 14:49
 */
public class Client {
    public static void main(String[] args) {
        // 创建一个处理信件的过程
        LetterProcessImpl letterProcess = new LetterProcessImpl();

        // 开始写信
        letterProcess.writeContext("Hello, It's me, do you know who I am? Im'm your old lover. I'd like to ...");
        // 开始写信封
        letterProcess.fillEnvelope("Happy Road No. 666, God Province, Heaven");
        // 把信放到信封中，并封装好
        letterProcess.letterInotoEnvelope();
        // 跑到邮局把信塞到邮箱，投递
        letterProcess.sendLetter();

        /**
         * 这个过程与高内聚的要求相差甚远，任何一步出错，信就不可能邮寄出去
         * 解决方法——增加一个门面类，对外只有一个方法。
         */

        System.out.println("============================");
        // 引入现代化邮局[门面类]
        ModenPostOffice hellRoadPostOffice = new ModenPostOffice();

        // 只需要把新的内容和授信人地址给他
        String address = "收信人地址";
        String context = "信的内容，hello？";
        hellRoadPostOffice.sendLetter(context, address);
    }
}
